草庐IT

MySQL SELECT 增量计数器

全部标签

MySQL:如何按字段对行进行排序并为另一个字段分配一个计数器?

假设有一个包含以下内容的表格:xyzaa5nullbb2nullcc5nulldd1null我想按y对行进行排序,并为z分配一个自动递增的字段,所以在这种情况下,最终结果(更改后的表)将是xyzdd11bb22aa53cc54或xyzaa53bb22cc54dd11我该怎么做?所以要明确一点,我想更改表格,而不是让那些东西编码。根据要求,http://sqlfiddle.com/#!2/cd610/1 最佳答案 updateyour_tablet1innerjoin(selectid,@rank:=@rank+1asrfromyou

Mysql - 计数 NULL 总是返回 0?

我试图得到这个结果:NULL350google98yahoo5bing4使用此查询:SELECTengine,COUNT(engine)AScountFROMvisitsGROUPBYengineORDERBYcountDESC但它返回:google98yahoo5bing4NULL0我该如何解决这个问题? 最佳答案 改为使用COUNT(1):SELECTengine,COUNT(1)AScountFROMvisitsGROUPBYengineORDERBYcountDESC;SQLFiddleDemo

mysql - 对于 SQL 查询,使用 where 子句错误计数

在mysql数据库中,我有一个这样的表:createtablereview(reviewIdvarchar(12)primarykey,helpfulnessdouble,reviewRatinginteger)我尝试将有用和无用的groupbyreviewRating和helpfulnesswhere>=0.75算作无用或其中unhelpfulnesshelpfulnessreviewRating521422343我尝试这样做,但似乎计数不起作用,并且在该位置加入无效。SELECTa.countASHELPFUL,b.countASUNHELPFULFROMreviewawhereh

mysql - 限制sql中的计数

我有一个如下所示的查询SELECTvenueidasVENUES,venue2.venueASLOCATION,(SELECTCOUNT(*)FROMeventsWHERE(VENUES=venueid)ANDeventdate我想将计数限制为计算表中的最后5行(按ID排序),但是当我添加限制0,5时,结果似乎没有改变。计算时,您在何处添加限制以限制正在计算的行数?CREATETABLEvenues(idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,venueVARCHAR(255))DEFAULTCHARACTERSETutf8ENGINE=InnoDB;CR

mysql - 基于一天中的小时的多个选择子查询计数,想添加表/列

现在,我有一个多选子查询,它根据一天中的小时数获取数据。我现在要做的是在该查询中引入另一个表,并根据原始表中的id和日期时间进行计数。我现在拥有的是:select(selectcount(a_date)fromt1whered_datebetween'2013-01-0700:00:00'and'2013-01-0700:59:59')AS'00:00to00:59',(selectcount(a_date)fromt1whered_datebetween'2013-01-0701:00:00'and'2013-01-0701:59:59')AS'01:00to01:59'依此类推,直

mysql - 对 SQL 中的一系列值进行计数

我有一个包含两列的表格-客户ID和他们购买的产品数量。我将使用什么SQL语句来了解有多少客户购买了1种或更多产品、2种或更多产品、3种或更多产品等?这可以在不使用交叉连接的情况下完成吗(我使用的是不支持该功能的googlebigquery)。 最佳答案 如果您确实需要分别计算购买“一个或更多”和“两个或更多”的客户数量,您将需要一个CASE表达式:SELECTSUM(CASEWHENNumOfProducts>=1THEN1ELSE0END)ASPurchased_1_or_more,SUM(CASEWHENNumOfProduct

c# - MySql 从列中选择所有数据并计数

我正在使用此命令选择列中的所有行:SELECTcityFromUsers有了这个,我从我的表中获取了所有城市。现在我想选择所有列数据和每个列的计数。例如:NewYork20Losangeles46London35这应该是什么命令? 最佳答案 您可以使用GROUPBYSELECTCity,COUNT(Field)FROMUsersGROUPBYCity 关于c#-MySql从列中选择所有数据并计数,我们在StackOverflow上找到一个类似的问题: http

javascript - 如果使用 mySQL 数据库中不存在数据,如何获取计数 0

我正在显示在我的应用程序上注册的月度用户。为此,我使用了下面的查询,它运行良好。但是对于这个查询,如果没有用户在6月份注册,那么就没有6月份的数据。我想要June月份的一行,所有其他信息都设置为0。有人可以帮我解决这个问题吗?SELECTMonth(createdon),count(*)作为用户,COUNT(if(roleid=1,1,NULL))作为讲师,COUNT(if(roleid=2,1,NULL))作为学生FROMuser_profilewhereYear(createdon)=Year(Now())groupbyMONTH(createdon);我得到的输出是:月份(创建于

用于获取每小时计数的 MySQL 查询

我需要统计每小时发生的操作数。我的数据库按操作的时间戳保存日志。我知道我可以做一个SELECTtable.timeCOUNT(table.time)fromtabletgroupbyt.time但是,有些时间段没有任何操作发生。例如,如果我在上午8:00有10个Action,在上午9:00没有Action,在上午10:00有4个Action,该查询将返回:8:001010:004跳过上午9:00,因为它没有条目。如何进行查询以考虑0计数条目。我还需要按星期几对条目进行相同的查询,但我假设通过回答第一个问题我可以轻松处理其他问题。提前致谢! 最佳答案

php - MySQL修复两个表中的自动增量差距

我有两个这样的表;id_imagefoobar13528131788714238129id_imagebarfoo12315621811210123821317817295071148102682734第一个表中自动递增的id_image有一个间隙。在第二个表中,id_image引用了第一个表中的id_image,每个ID都有两个。注意:此表是理论上的。我不知道差距到底在哪里,或者是否有多个差距。我所知道的是第一个值为1,最后一个值高于总行数。现在,我想弥补这个差距。在您说差距无关紧要之前,如果确实如此,那就是糟糕的数据库设计,让我告诉您;我同意你的看法。但是,我正在处理的是一个(无可